﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="百度地图,百度地图API，百度地图自定义工具，百度地图所见即所得工具" />
<meta name="description" content="百度地图API自定义地图，帮助用户在可视化操作下生成百度地图" />
<title>百度地图API自定义地图</title>
<!--引用百度地图API-->
<style type="text/css">
    html,body{margin:0;padding:0;}
    .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap}
    .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=hiFGULKPw2WBszF0CDj9z7HdQlMGoDFZ"></script>
<script src="../lib/jquery.min.js"></script>
</head>

<body>
  <!--百度地图容器-->
  <div style="width:100%;height:670px;border:#ccc solid 0px;" id="dituContent"></div>
</body>
<script type="text/javascript">
    //创建和初始化地图函数：
    function initMap(){
        createMap();//创建地图
        setMapEvent();//设置地图事件
        addMapControl();//向地图添加控件
    }
    
    //创建地图函数：
    function createMap() {
        var map = new BMap.Map("dituContent", { minZoom: 9, maxZoom: 18 });//在百度地图容器中创建一个地图
        var point = new BMap.Point(111.592827, 30.897726);//定义一个中心点坐标
        map.centerAndZoom(point, 9);//设定地图的中心点和坐标并将地图显示在地图容器中
        window.map = map;//将map变量存储在全局
        map.setMapStyle({ style: 'grayscale' });
    }
    
    //地图事件设置函数：
    function setMapEvent(){
        map.enableDragging();//启用地图拖拽事件，默认启用(可不写)
        map.enableScrollWheelZoom();//启用地图滚轮放大缩小
        map.enableDoubleClickZoom();//启用鼠标双击放大，默认启用(可不写)
        map.enableKeyboard();//启用键盘上下左右键移动地图
    }
    
    //地图控件添加函数：
    function addMapControl(){
        //向地图中添加缩放控件
    var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
    map.addControl(ctrl_nav);
        //向地图中添加缩略图控件
    var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
    map.addControl(ctrl_ove);
        //向地图中添加比例尺控件
    var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
    map.addControl(ctrl_sca);
    }
    
    
    initMap();//创建和初始化地图
    getBoundary();

    function getBoundary(){       
        var bdary = new BMap.Boundary();
        bdary.get("宜昌市", function(rs){       //获取行政区域
            //map.clearOverlays();        //清除地图覆盖物       
            var count = rs.boundaries.length; //行政区域的点有多少个
            if (count === 0) {
                alert('未能获取当前输入行政区域');
                return ;
            }
            var pointArray = [];
            for (var i = 0; i < count; i++) {
                var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 4, strokeColor: "blue", fillColor: "none" }); //建立多边形覆盖物
                map.addOverlay(ply);  //添加覆盖物
                pointArray = pointArray.concat(ply.getPath());
                
            }    
            //map.setViewport(pointArray);    //调整视野               
        });   
    }
    var mnType = {
    "PP": "雨量站",
    "ZZ": "水位站",
    "ZQ": "水文站",
    "RR": "水库",
    "SS": "墒情站",
    "ZG": "地下水站"
    };
    var imgType = {
    "PP": "../static/h-ui.admin/images/map_yuliang.png",
    "ZZ": "../static/h-ui.admin/images/map_shuiwei.png",
    "ZQ": "../static/h-ui.admin/images/map_shuiwen.png",
    "RR": "../static/h-ui.admin/images/map_shuiku.png",
    "SS": "../static/h-ui.admin/images/map_shangqing.png",
    "ZG": "../static/h-ui.admin/images/map_dixiashui.png"
    };
  

    //调用增加点数据方法

    function addlele(data) {
        data = JSON.parse(data);
        for (var i = 0; i < data.length; i++) {
            var p0 = data[i].LGTD;
            var p1 = data[i].LTTD;
            var list2 = data[i].Z;
            if (list2 == null || list2 == "" || list2 == "null") { list2 = ""}else{list2 = ""+Number(data[i].Z).toFixed(2)+"m(水位)"}
            var list3 = data[i].Q;
            if (list3 == null || list3 == "" || list3 == "null") { list3 = ""}else{list3 = ""+Number(data[i].Q).toFixed(1)+"m³/s(流量)"}
            var list1 = data[i].STNM;
            var point = new BMap.Point(p0, p1);
            var myLabel = new BMap.Label("<span class='quxian_span'>" + list1 + list2 + list3 +"</div></span>", { offset: new BMap.Size(0, 0), position: point });
            myLabel.setStyle({ borderColor: "rgb(128, 128, 128)", color: "#2A96FF", cursor: "pointer" });
            map.addOverlay(myLabel);
           
        }
    }
    
   
    
    function allPoint(b) {
        var allOverlay = map.getOverlays();

        for (var i = 0; i < allOverlay.length ; i++) {
            allOverlay[i].toString()
            if (allOverlay[i].toString() == "[object Label]") {
                var point = allOverlay[i].getPosition(); //获取marker的位置
                var name = allOverlay[i].content;
                if (name.indexOf(b) > 0) {
                    //alert("marker的名称是"+name);
                    //alert("marker的位置是" + point.lng + "," + point.lat); 
                    var point2 = new BMap.Point(point.lng, point.lat); //定义一个中心点坐标
                    map.centerAndZoom(point2, 15); //设定地图的中心点和坐标并将地图显示在地图容器中
                }
            }

        }

    }

</script>
</html>